1. Field of the Invention
The present invention relates to the field of automated software testing and more particularly to software functional testing.
2. Description of the Related Art
Software functional testing relates to the functional testing of a graphical user interface (GUI) coupled to an underlying software application. Conventional functional testing tools allow the end user to create, modify and run functional, distributed functional, regression and smoke tests for applications built using any of a wide variety of integrated development environments. In this regard, the conventional functional testing tool can generate a test script for a GUI in which elements of the GUI can be exercised both sequentially and conditionally. Through a thorough testing of the GUI of an application, the functional testing tool can automatically identify defects early, often and repeatably.
In operation, the conventional functional testing tool in a “GUI driving” mode can monitor and record the interaction between end user and GUI during a recording phase of functional testing. In this regard, a testing script can be produced based upon the identity of GUI elements addressed by the end user and the sequence in which the GUI elements are addressed. Within the script, GUI elements, referred to herein as “objects”, can be identified by absolute reference to each object. The absolute reference can include any number of element properties which, when combined with one another, can uniquely identify the desired object. Properties can include any explicit object property such as a data or method member, or any metadata associated with the object.
The GUI driving mode can be resource consumptive. In this regard, replaying GUI driving scripts can require the full use of the host computing platform since the emulation of mouse and keyboard events interfere with accepting any additional input through the GUI of the host computing platform. Additionally, the software-under-test during GUI driving must have current focus in the desktop environment so that windowing events can be received by the test tool. The exclusive nature of GUI driving test tools also can limit the use of the host computing platform to only one test running at a given time.